package yt.demo.appcommontools.utils.files.storage;

import org.springframework.web.multipart.MultipartFile;
import yt.demo.appcommontools.utils.dto.FileInfoDTO;

public interface FileStorageService {

    /**
     * 上传文件
     * @param file 文件
     * @return 文件的访问URL
     */
    FileInfoDTO upload(MultipartFile file);

    /**
     * 上传 Base64 编码的文件
     * @param base64Data base64 编码的文件数据
     * @return 文件的访问URL
     */
    FileInfoDTO uploadBase64(String base64Data);

    /**
     * 删除文件
     * @param fileUrl 文件的URL
     * @return 是否成功
     */
    boolean delete(String fileUrl);

    String getDomainName();


}
